package com.hnchances.studentscoresystem.dto.request;

import lombok.Data;

/**
 * 用户删除请求DTO
 * 对应接口：/user/del（有鉴权）
 * 功能：软删除用户（修改status为1），仅老师可删除本班级用户，学生无权限
 */
@Data
public class UserDeleteDTO {

    /**
     * 待删除用户ID（定位需删除的用户）
     * 约束：非空（匹配数据库user表id字段，必传参数）
     */
    private Long deletedUserId;

    /**
     * 操作人ID（删除操作发起者ID，用于权限校验）
     * 约束：非空（后端也可通过Token解析获取，此处显式传参便于日志记录，匹配数据库user表id字段）
     */
    private Long operatorId;

    /**
     * 操作人身份（0-学生，1-老师，2-管理员）
     * 约束：非空（用于校验权限，仅老师/管理员可执行删除，匹配数据库user表identity字段）
     */
    private Integer operatorIdentity;

    /**
     * 操作人班级ID（仅老师需传，用于校验“删除本班级用户”规则）
     * 约束：操作人为老师时非空（匹配数据库user表classID字段，确保老师仅删除本班用户）
     */
    private Integer operatorClassId;
}